Diffusion Oriented Method and Apparatus for Stream Cryptography

ABSTRACT

The present invention applies with a diffused mechanism, as such, a variable series of diffusion functions embedded within a diffusion-medium, to generate a maximum diffusion-cycle and nonlinear complexity; additionally, it performs in a serial process for simple design, further, in a parallel process for saving time, or even in a hardware architecture, to gain greater acceleration. FIG.  1  shows an embodiment of the present invention in flow chart diagram form, comprising steps of: selecting a diffusion-area A, a diffusion-medium S, and a diffusion mechanism F t     1      100 ; initializing A by an input password  200 ; performing F t     1    to obtain a new value of A  300 ; inputting a plaintext in encryption or a ciphertext for decryption, bit by bit  400 ; XORing a plaintext bit in encryption or a ciphertext bit in decryption with a certain bit of A for stream output  500 ; continuing until completing the plaintext in encryption, or the ciphertext in decryption  600.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to a stream cryptographic method and apparatustherefor. More particularly, the invention relates to a diffusionmechanism for running stream cryptography bit by bit; other than theprior art with a fixed polynomial and Shift operations, the diffusionmechanism is combined flexibly with a variable series of diffusionfunctions embedded within a diffusion-medium control.

2. Description of the Related Art

The Applicant's following patent application is related to the inventionand is incorporated herein by reference: “A Cryptographic Method ofMultilayer Diffusion in Multidimension”, application Ser. No.12/726,833, filed Mar. 18, 2010; the prior invention described adiffusion function for one position AF(p₁, p₂, . . . , p_(n)), notatedherein as AF(i₁, i₂, . . . , i_(m))=A⊕Ad_(1i)⊕A_(2i)⊕ . . . ⊕Ad_(mi)⊕S,the encryption/decryption is completed through a diffusion-cycle T,wherein T=2^(U+1), U=┌log₂ u┐, u=max(d₁, d₂, . . . , d_(m)), based onthe dimensional magnitude.

The present invention emphasizes multiple diffusion functions at aseries of pre-arranged positions to maximize the diffusion cycle. Otherthan the prior invention for one position, the notation AF(p₁, p₂, . . .p_(k)) herein is for a series of pre-arranged positions; further, it maybe described more delicately as or precisely by A performs the diffusionfunctions F(p₁, p₂, . . . p_(k)).

SUMMARY OF THE INVENTION

The present invention applies with a diffused mechanism, as such, avariable series of diffusion functions embedded within adiffusion-medium, to generate a maximum diffusion-cycle and nonlinearcomplexity; additionally, it performs in a serial process for simpledesign, further, in a parallel process for saving time, or even in ahardware architecture, to gain greater acceleration. Under thecombination of diffusion functions, the output bits, with a wide andflexible random distribution, are thus hardly attacked during the longdiffusion-cycle; the steps are shown as follows:

-   -   (a) selecting a diffusion mechanism, a diffusion-area, and a        diffusion-medium;    -   (b) setting an initial value of the diffusion-area by an input        password;    -   (c) running the diffusion mechanism to obtain a new value for        the diffusion-area;    -   (d) inputting a bit of a plaintext/ciphertext stream in        sequence;    -   (e) outputting a bit of the ciphertext/plaintext stream,        equally, XORing (exclusive-or (XOR) operation) the bit of the        plaintext/ciphertext stream with an assigned bit of the        diffusion-area;    -   (f) going back to Step (c) until the encryption/decryption is        complete.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a summary flow chart diagram showing the main steps takenwhile encrypting/decrypting by a diffusion mechanism according to thepresent invention;

FIG. 2 is a summary flow chart diagram of FIG. 1, 200 showing the stepstaken while initializing by an input password according to the presentinvention;

FIG. 3A is a summary flow chart diagram showing the component stepstaken while performing a diffusion mechanism including a medium-constantin hardware architecture according to the present invention;

FIG. 3B is a summary flow chart diagram showing the component stepstaken while performing a diffusion mechanism excluding a medium-constantin hardware architecture according to the present invention;

FIG. 3C is a summary flow chart diagram showing the component stepstaken while encrypting/decrypting by a diffusion mechanism in hardwarearchitecture according to the present invention;

FIG. 4 is a summary schematic diagram of preferred Embodiment I showinga diffusion-table in hardware architecture according to the presentinvention;

FIG. 5 is a summary schematic diagram of preferred Embodiments showing aparallel connecting in hardware architecture according to the presentinvention;

FIG. 6 is a summary schematic diagram of preferred Embodiments showing aserial connecting in hardware architecture according to the presentinvention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 shows an embodiment of the present invention in flow chartdiagram form, comprising steps of: selecting a diffusion-area A, adiffusion-medium S, and a diffusion mechanism F^(t) ¹ 100; initializingA by an input password 200; performing F^(t) ¹ to obtain a new value ofA 300; inputting a plaintext in encryption or a ciphertext fordecryption, bit by bit 400; XORing a plaintext bit in encryption or aciphertext bit in decryption with a certain bit of A for stream output500; continuing until completing the plaintext in encryption, or theciphertext in decryption 600.

Moreover, FIG. 2, i.e. FIG. 1, 200, shows an initialization of thediffusion-area by an input password, comprising steps of: inputting thepassword, bit by bit 210; setting the password bit whether controllingover S 220, if yes, then performing F^(t) ¹ whether adding S by thevalue (0 or 1) of the password bit, to obtain a new value of A 240,otherwise, writing the password bit directly to A 230; continuing untilcompleting the password 250.

Serial Process in Detail:

FIG. 1, 300, obtaining a new value A^(t) ¹ ^(×t) ² =A^(t) ¹ ^(×(t) ²⁻¹⁾F^(t) ¹ by a serial process, it would implement a number of diffusionfunctions F(p₁, p₂, . . . , p_(k)), provided with a simple design butrather time consuming. Furthermore, for the initialization of A, FIG. 2,a password bit selects a first value for AF(p)=A⊕Ad_(1i)⊕Ad_(2i)⊕ . . .⊕Ad_(mi)⊕S, and a second value for AF(p)=A⊕Ad_(1i)⊕Ad_(2i)⊕ . . .⊕Ad_(mi). The cryptographic process flow comprises steps of:

-   -   1. choosing a diffusion-area A, with a diffusion mechanism F^(t)        ¹ ;    -   2. setting A's initial value A⁰ by a password; t₂=1;    -   3. obtaining a new value A^(t) ¹ ^(×t) ² , wherein A^(t) ¹ ^(×t)        ² =A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ ;    -   4. inputting a bit of a plaintext/ciphertext stream in sequence;    -   5. outputting a bit of the ciphertext/plaintext stream, equally,        XORing the bit of the plaintext/ciphertext stream with an        assigned bit of A^(t) ¹ ^(×t) ² ;    -   6. letting t₂=t₂+1, going back to Step 3, until the        encryption/decryption is complete.

Symbols and Definitions:

-   -   A: a diffusion-area, wherein A is a d₁×d₂× . . . ×d_(m) binary        matrix with a combination of positions labeled sequentially from        1 to n, accordingly, the bit values from a₁ to a_(n); where the        positions are shown as below:        for example,

${{(a)\mspace{14mu} m} = 1},{{one}\text{-}{dimension}\mspace{14mu} A\mspace{14mu} \begin{matrix}1 & 2 & 3 & \ldots & {n - 1} & n\end{matrix}}$${{(b)\mspace{14mu} m} = 2},{{two}\text{-}{dimension}\mspace{14mu} A\mspace{14mu} \begin{matrix}1 & {i + 1} & \ldots & {n - i + 1} \\2 & {i + 2} & \ldots & {n - i + 2} \\\vdots & \vdots & \vdots & \vdots \\i & {2\; i} & \ldots & n\end{matrix}}$

-   -   S: a diffusion-medium, wherein S is a m-dimensional binary        matrix, and further, includes an anchor-position {dot over (S)}.    -   AF(p): A performs a diffusion function F(p), see application        Ser. No. 12/726,833, Point-Diffusion, wherein p transforms into        m-dimension coordinates (i₁, i₂, . . . , i_(m)), then        AF(p)=A⊕Ad_(1i)⊕Ad_(2i)⊕ . . . ⊕Ad_(mi)⊕S.    -   AF(p₁, p₂, . . . , p_(k)): A performs the diffusion functions        F(p₁, p₂, . . . , p_(k)), sequentially at the m-dimension        positions p₁, p₂, . . . , p_(k).    -   AF^(t) ¹ : A performs a diffusion mechanism F^(t) ¹ , as        abbreviated for F(p₁, p₂ ^(t) ¹ , . . . , p_(k)), i.e. F(p₁, p₂,        . . . , p_(k)) repeated t₁ times.

Preferred Embodiment I A 1×16 Diffusion-Area A, a Diffusion Mechanism F¹

Suppose that F¹=F(13, 14, 15, 16, 1, . . . , 13) applied to A, further,A⁰=0, and S=1 placed at the anchor-position, with the encrypting valueA^(1×1)=A⁰F¹ at the first time, t₂=1. To detail the diffusion functionof every position, the sequential positions are notated as no. p: no. qin abbreviation thereafter, for example 13:15 for 13, 14, 15, or 13:1for 13, 14, 15, 16, 1, and so on; the steps are listed as follows (S=1is indicated in boldface hereafter):

A⁰F(p)=A⁰⊕A⁰y_(p)⊕S;

A⁰F(13)=[0000000000000000]⊕[0000000000000000]⊕[0000000000001000];A⁰F(13:14)=[0000000000001000]⊕[0000000000010000]⊕[0000000000000100];A⁰F(13:15)=[0000000000011100]⊕[0000000000111000]⊕[0000000000000010];A⁰F(13:16)=[0000000000100110]⊕[0000000001001100]⊕[0000000000000001];A⁰F(13:1)=[0000000001101011]⊕[0000000000110101]⊕[1000000000000000];A⁰F(13:2)=[1000000001011110]⊕[0000000000101111]⊕[0100000000000000];A⁰F(13:3)=[1100000001110001]⊕[1000000000111000]⊕[0010000000000000];A⁰F(13:4)=[0110000001001001]⊕[1100000000100100]⊕[0001000000000000];A⁰F(13:5)=[1011000001101101]⊕[0110000000110110]⊕[0000100000000000];A⁰F(13:6)=[1101100001011011]⊕[1011000000101101]⊕[0000010000000000];A⁰F(13:7)=[0110110001110110]⊕[1101100000111011]⊕[0000001000000000];A⁰F(13:8)=[1011011001001101]⊕[0110110000100110]⊕[0000000100000000];A⁰F(13:9)=[1101101101101011]⊕[1011011000110101]⊕[0000000010000000];A⁰F(13:10)=[0110110111011110]⊕[1101101110101111]⊕[0000000001000000];A⁰F(13:11)=[1011011000110001]⊕[0110110001011000]⊕[0000000000100000];A⁰F(13:12)=[1101101001001001]⊕[1011010010000100]⊕[0000000000010000];A⁰F(13:13)=[0110111011011101]⊕[1101110110110110]⊕[0000000000001000].

Through A⁰F(13:13), thus, A^(1×1)=[1011001101100011], afterward, XORinga bit of A, assuming a₁₆, with a plaintext bit to output an encryptedbit. Next, let t₂=2, and the value A^(1×2) is thus derived from A^(1×1)which can be equivalently notated as A¹ in abbreviation hereafter; thedetails are shown as below:

A¹F(p)=A¹⊕A¹y_(p)⊕S;

A¹F(13)=[1011001101100011]⊕[0110011011000001]⊕[0000000000001000];A¹F(13:14)=[1101010110101010]⊕[1010101101010001]⊕[0000000000000100];A¹F(13:15)=[0111111011111111]⊕[1111110111111101]⊕[0000000000000010];A¹F(13:16)=[1000001100000000]⊕[0000011000000000]⊕[0000000000000001];A¹F(13:1)=[1000010100000001]⊕[0100001010000000]⊕[1000000000000000];A¹F(13:2)=[0100011110000001]⊕[1010001111000000]⊕[0100000000000000];A¹F(13:3)=[1010010001000001]⊕[0101001000100000]⊕[0010000000000000];A¹F(13:4)=[1101011001100001]⊕[1010101100110000]⊕[0001000000000000];A¹F(13:5)=[0110110101010001]⊕[1101011010101000]⊕[0000100000000000];A¹F(13:6)=[1011001111111001]⊕[0110000111111100]⊕[0000010000000000];A¹F(13:7)=[1101011000000101]⊕[1010110100000010]⊕[0000001000000000];A¹F(13:8)=[0111100100000111]⊕[1111001010000011]⊕[0000000100000000];A¹F(13:9)=[1000101010000100]⊕[0001010101000010]⊕[0000000010000000];A¹F(13:10)=[1001111101000110]⊕[0011111010100011]⊕[0000000001000000];A¹F(13:11)=[1010000110100101]⊕[0100001101010010]⊕[0000000000100000];A¹F(13:12)=[1110001011010111]⊕[1100010110101011]⊕[0000000000010000];A¹F(13:13)=[0010011101101100]⊕[0100111011010110]⊕[0000000000001000].

The second value of the diffusion-area A^(1×2)=[0110100110110010]; then,another encrypted bit is generated. Accordingly, a diffusion-cycle ofF¹, implying A^(1×t) ² =A¹, requires 2¹⁶−1 times; thus, running thediffusion mechanism consecutively through the diffusion-cycle, theencrypted data complies with a random distribution thereby avoidingsuccessful crypto-attack; assume a plaintext stream=0, four segments (64bits) of the random output are appended as below, as samples:

Four Segments: (t₂=1 to 64)

1011011100111011 (t₂=1 to 16), 0000100100010111 (t₂=17 to 32),

0100000011010100 (t₂=33 to 48), 1011011111111110 (t₂=49 to 64).

Preferred Embodiment II A 1×16 Diffusion-Area A, a Diffusion MechanismF²

According to a diffusion mechanism arranged with the same positions insequence, but at different times, the output is sampled out at everycorresponding time. Suppose that F²=F(13²:13), A⁰=[0000000000000000] andS=1 is placed at the anchor-position, the encrypting value A^(2×1) thusis obtained from A^(2×0)F² at the first time, t₂=1, see A² of EmbodimentI, short for A^(2×1). The next value A^(2×2), notated as A⁴ for short,is thus obtained by running the diffusion functions of the value A³; thesteps are also listed as below to let any skilled person gain moreunderstanding: (A³=[1000010001101011])

A³F(p)=A³⊕A³y_(p)⊕S;

A³F(13)=[1000010001101011]⊕[0000100011010101]⊕[0000000000001000];A³F(13:14)=[1000110010110110]⊕[0001100101101011]⊕[0000000000000100];A³F(13:15)=[1001010111011001]⊕[0010101110110000]⊕[0000000000000010];A³F(13:16)=[1011111001101011]⊕[0111110011010110]⊕[0000000000000001];A³F(13:1)=[1100001010111100]⊕[0110000101011110]⊕[1000000000000000];A³F(13:2)=[0010001111100010]⊕[0001000111110001]⊕[0100000000000000];A³F(13:3)=[0111001000010011]⊕[1101100100001001]⊕[0010000000000000];A³F(13:4)=[1000101100011010]⊕[0000010110001101]⊕[0001000000000000];A³F(13:5)=[1001111010010111]⊕[0011011101001011]⊕[0000100000000000];A³F(13:6)=[1010000111011100]⊕[0100000011101110]⊕[0000010000000000];A³F(13:7)=[1110010100110010]⊕[1100100010011001]⊕[0000001000000000];A³F(13:8)=[0010111110101011]⊕[0101111011010101]⊕[0000000100000000];A³F(13:9)=[0111000001111110]⊕[1110000000111111]⊕[0000000010000000];A³F(13:10)=[1001000011000001]⊕[0010000110100000]⊕[0000000001000000];A³F(13:11)=[1011000100100001]⊕[0110001001010000]⊕[0000000000100000];A³F(13:12)=[1101001101010001]⊕[1010011010101000]⊕[0000000000010000];A³F(13:13)=[0111010111101001]⊕[1110101111010100]⊕[0000000000001000].

The new value of the diffusion-area will be A^(2×2)=[1001111000110101].According to the diffusion mechanism using the number of times “2” is aprime number, therefore, the diffusion-cycle still keeps on 2¹⁶−1 times;thus, also assume a plaintext stream=0, XORing a₁₆ of A, the outputother than Embodiment I is sampled out every two times; with fourfragments of the random output appended as below, as samples:

Four Segments: (t₂=1 to 64)

0111010100010111 (t₂=1 to 16), 1000111001111110 (t₂=17 to 32),

1000010100011110 (t₂=33 to 48), 1101011100000100 (t₂=49 to 64).

Preferred Embodiment III A 4×4 Diffusion-Area A, a Diffusion MechanismF¹

Provided that F¹=F(8:8), A⁰=[0000000000000000] and S=1 placed at theanchor-position, the encrypting value A^(1×1) is obtained from A^(1×0)run by F¹ at the first time, t=1. Now that the diffusion-area is atwo-dimension matrix, a position needs to be transformed to thecorresponding coordinates (i, j); the details are shown as below (Ax(0),Ay(0) also indicated in boldface hereafter):

AF(p) = A ⊕ Ax_(i) ⊕ Ay_(j) ⊕ S; $\begin{matrix}{{{AF}(8)} = {A \oplus {Ax}_{4} \oplus {Ay}_{2} \oplus S}} \\{= {\begin{bmatrix}0000 \\0000 \\0000 \\0000\end{bmatrix} \oplus \begin{bmatrix}0000 \\0000 \\0000 \\0000\end{bmatrix} \oplus \begin{bmatrix}0000 \\0000 \\0000 \\0000\end{bmatrix} \oplus \begin{bmatrix}0000 \\0000 \\0000 \\0100\end{bmatrix}}} \\{{= \begin{bmatrix}0000 \\0000 \\0000 \\0100\end{bmatrix}};}\end{matrix}$ $\begin{matrix}{{{AF}\left( {8:9} \right)} = {A \oplus {Ax}_{1} \oplus {Ay}_{3} \oplus S}} \\{= {\begin{bmatrix}0000 \\0000 \\0000 \\0100\end{bmatrix} \oplus \begin{bmatrix}0000 \\0000 \\0000 \\0000\end{bmatrix} \oplus \begin{bmatrix}0000 \\0000 \\0000 \\1000\end{bmatrix} \oplus \begin{bmatrix}0010 \\0000 \\0000 \\0000\end{bmatrix}}} \\{{= \begin{bmatrix}0010 \\0000 \\0000 \\1100\end{bmatrix}};}\end{matrix}$ $\begin{matrix}{{{AF}\left( {8:10} \right)} = {A \oplus {Ax}_{2} \oplus {Ay}_{3} \oplus S}} \\{= {\begin{bmatrix}0010 \\0000 \\0000 \\1100\end{bmatrix} \oplus \begin{bmatrix}0000 \\0000 \\0000 \\0000\end{bmatrix} \oplus \begin{bmatrix}0101 \\0000 \\0000 \\1000\end{bmatrix} \oplus \begin{bmatrix}0000 \\0010 \\0000 \\0000\end{bmatrix}}} \\{{= \begin{bmatrix}0111 \\0010 \\0000 \\0100\end{bmatrix}};}\end{matrix}$ $\begin{matrix}{{{AF}\left( {8:11} \right)} = {A \oplus {Ax}_{3} \oplus {Ay}_{3} \oplus S}} \\{= {\begin{bmatrix}0111 \\0010 \\0000 \\0100\end{bmatrix} \oplus \begin{bmatrix}0010 \\0000 \\0000 \\0000\end{bmatrix} \oplus \begin{bmatrix}1101 \\0101 \\0000 \\1000\end{bmatrix} \oplus \begin{bmatrix}0000 \\0000 \\0010 \\0000\end{bmatrix}}} \\{{= \begin{bmatrix}1000 \\0111 \\0010 \\1100\end{bmatrix}};}\end{matrix}$ $\begin{matrix}{{{AF}\left( {8:12} \right)} = {A \oplus {Ax}_{4} \oplus {Ay}_{3} \oplus S}} \\{= {\begin{bmatrix}1000 \\0111 \\0010 \\1100\end{bmatrix} \oplus \begin{bmatrix}0111 \\0010 \\1100 \\0000\end{bmatrix} \oplus \begin{bmatrix}0000 \\1101 \\0101 \\1000\end{bmatrix} \oplus \begin{bmatrix}0000 \\0000 \\0000 \\0010\end{bmatrix}}} \\{{= \begin{bmatrix}1111 \\1000 \\1011 \\0110\end{bmatrix}};}\end{matrix}$ $\begin{matrix}{{{AF}\left( {8:13} \right)} = {A \oplus {Ax}_{1} \oplus {Ay}_{4} \oplus S}} \\{= {\begin{bmatrix}1111 \\1000 \\1011 \\0110\end{bmatrix} \oplus \begin{bmatrix}0000 \\1111 \\1000 \\1011\end{bmatrix} \oplus \begin{bmatrix}1110 \\0000 \\0110 \\1100\end{bmatrix} \oplus \begin{bmatrix}0001 \\0000 \\0000 \\0000\end{bmatrix}}} \\{{= \begin{bmatrix}0000 \\0111 \\0101 \\0001\end{bmatrix}};}\end{matrix}$ $\begin{matrix}{{{AF}\left( {8:14} \right)} = {A \oplus {Ax}_{2} \oplus {Ay}_{4} \oplus S}} \\{= {\begin{bmatrix}0000 \\0111 \\0101 \\0001\end{bmatrix} \oplus \begin{bmatrix}0111 \\0000 \\0111 \\0101\end{bmatrix} \oplus \begin{bmatrix}0000 \\1110 \\1010 \\0010\end{bmatrix} \oplus \begin{bmatrix}0000 \\0001 \\0000 \\0000\end{bmatrix}}} \\{{= \begin{bmatrix}0111 \\1000 \\1000 \\0110\end{bmatrix}};}\end{matrix}$ $\begin{matrix}{{{AF}\left( {8:15} \right)} = {A \oplus {Ax}_{3} \oplus {Ay}_{4} \oplus S}} \\{= {\begin{bmatrix}0111 \\1000 \\1000 \\0110\end{bmatrix} \oplus \begin{bmatrix}1000 \\1000 \\0000 \\1000\end{bmatrix} \oplus \begin{bmatrix}1110 \\0000 \\0000 \\1100\end{bmatrix} \oplus \begin{bmatrix}0000 \\0000 \\0001 \\0000\end{bmatrix}}} \\{{= \begin{bmatrix}0001 \\0000 \\1001 \\0010\end{bmatrix}};}\end{matrix}$ $\begin{matrix}{{{AF}\left( {8:16} \right)} = {A \oplus {Ax}_{4} \oplus {Ay}_{4} \oplus S}} \\{= {\begin{bmatrix}0001 \\0000 \\1001 \\0010\end{bmatrix} \oplus \begin{bmatrix}0000 \\1001 \\0010 \\0000\end{bmatrix} \oplus \begin{bmatrix}0010 \\0000 \\0010 \\0100\end{bmatrix} \oplus \begin{bmatrix}0000 \\0000 \\0000 \\0001\end{bmatrix}}} \\{{= \begin{bmatrix}0011 \\1001 \\1001 \\0111\end{bmatrix}};}\end{matrix}$ $\begin{matrix}{{{AF}\left( {8:1} \right)} = {A \oplus {Ax}_{1} \oplus {Ay}_{1} \oplus S}} \\{= {\begin{bmatrix}0011 \\1001 \\1001 \\0111\end{bmatrix} \oplus \begin{bmatrix}0000 \\0011 \\1001 \\1001\end{bmatrix} \oplus \begin{bmatrix}0001 \\0100 \\0100 \\0011\end{bmatrix} \oplus \begin{bmatrix}1000 \\0000 \\0000 \\0000\end{bmatrix}}} \\{{= \begin{bmatrix}1010 \\1110 \\0100 \\1101\end{bmatrix}};}\end{matrix}$ $\begin{matrix}{{{AF}\left( {8:2} \right)} = {A \oplus {Ax}_{2} \oplus {Ay}_{1} \oplus S}} \\{= {\begin{bmatrix}1010 \\1110 \\0100 \\1101\end{bmatrix} \oplus \begin{bmatrix}1110 \\0000 \\1110 \\0100\end{bmatrix} \oplus \begin{bmatrix}0101 \\0111 \\0010 \\0110\end{bmatrix} \oplus \begin{bmatrix}0000 \\1000 \\0000 \\0000\end{bmatrix}}} \\{{= \begin{bmatrix}0001 \\0001 \\1000 \\1111\end{bmatrix}};}\end{matrix}$ $\begin{matrix}{{{AF}\left( {8:3} \right)} = {A \oplus {Ax}_{3} \oplus {Ay}_{1} \oplus S}} \\{= {\begin{bmatrix}0001 \\0001 \\1000 \\1111\end{bmatrix} \oplus \begin{bmatrix}0001 \\1000 \\0000 \\1000\end{bmatrix} \oplus \begin{bmatrix}0000 \\0000 \\0100 \\0111\end{bmatrix} \oplus \begin{bmatrix}0000 \\0000 \\1000 \\0000\end{bmatrix}}} \\{{= \begin{bmatrix}0000 \\1001 \\0100 \\0000\end{bmatrix}};}\end{matrix}$ $\begin{matrix}{{{AF}\left( {8:4} \right)} = {A \oplus {Ax}_{4} \oplus {Ay}_{1} \oplus S}} \\{= {\begin{bmatrix}0000 \\1001 \\0100 \\0000\end{bmatrix} \oplus \begin{bmatrix}1001 \\0100 \\0000 \\0000\end{bmatrix} \oplus \begin{bmatrix}0000 \\0100 \\0010 \\0000\end{bmatrix} \oplus \begin{bmatrix}0000 \\0000 \\0000 \\1000\end{bmatrix}}} \\{{= \begin{bmatrix}1001 \\1001 \\0110 \\1000\end{bmatrix}};}\end{matrix}$ $\begin{matrix}{{{AF}\left( {8:5} \right)} = {A \oplus {Ax}_{1} \oplus {Ay}_{2} \oplus S}} \\{= {\begin{bmatrix}1001 \\1001 \\0110 \\1000\end{bmatrix} \oplus \begin{bmatrix}0000 \\1001 \\1001 \\0110\end{bmatrix} \oplus \begin{bmatrix}0000 \\0000 \\1011 \\0000\end{bmatrix} \oplus \begin{bmatrix}0100 \\0000 \\0000 \\0000\end{bmatrix}}} \\{{= \begin{bmatrix}1101 \\0000 \\0100 \\1110\end{bmatrix}};}\end{matrix}$ $\begin{matrix}{{{AF}\left( {8:6} \right)} = {A \oplus {Ax}_{2} \oplus {Ay}_{2} \oplus S}} \\{= {\begin{bmatrix}1101 \\0000 \\0100 \\1110\end{bmatrix} \oplus \begin{bmatrix}0000 \\0000 \\0000 \\0100\end{bmatrix} \oplus \begin{bmatrix}1010 \\0000 \\1010 \\1011\end{bmatrix} \oplus \begin{bmatrix}0000 \\0100 \\0000 \\0000\end{bmatrix}}} \\{{= \begin{bmatrix}0111 \\0100 \\1110 \\0001\end{bmatrix}};}\end{matrix}$ $\begin{matrix}{{{AF}\left( {8:7} \right)} = {A \oplus {Ax}_{3} \oplus {Ay}_{2} \oplus S}} \\{= {\begin{bmatrix}0111 \\0100 \\1110 \\0001\end{bmatrix} \oplus \begin{bmatrix}0100 \\1110 \\0000 \\1110\end{bmatrix} \oplus \begin{bmatrix}1011 \\1010 \\1011 \\0000\end{bmatrix} \oplus \begin{bmatrix}0000 \\0000 \\0100 \\0000\end{bmatrix}}} \\{{= \begin{bmatrix}1000 \\0000 \\0001 \\1111\end{bmatrix}};}\end{matrix}$ $\begin{matrix}{{{AF}\left( {8:8} \right)} = {A \oplus {Ax}_{4} \oplus {Ay}_{2} \oplus S}} \\{= {\begin{bmatrix}1000 \\0000 \\0001 \\1111\end{bmatrix} \oplus \begin{bmatrix}0000 \\0001 \\1111 \\0000\end{bmatrix} \oplus \begin{bmatrix}0000 \\0000 \\0000 \\1011\end{bmatrix} \oplus \begin{bmatrix}0000 \\0000 \\0000 \\0100\end{bmatrix}}} \\{= {\begin{bmatrix}1000 \\0001 \\1110 \\0000\end{bmatrix}.}}\end{matrix}$

Assume again the last bit of A^(1×t) ² for encrypting and a plaintextstream=0, due to a two-dimension diffusion mechanism, four fragments ofthe random output, which are thus very different from samples obtainedfor Embodiment I & II, are appended as below:

Four Segments: (t₂=1 to 64)

0111000100100111 (t₂=1 to 16), 0000001100001011 (t₂=17 to 32),

1110101001111110 (t₂=33 to 48), 0011000001101100 (t₂=49 to 64).

Parallel Process in Detail:

FIG. 1, 300, obtaining a new value A^(t) ¹ ^(×t) ² =A^(t) ¹ ^(×(t) ²⁻¹⁾F^(t) ¹ by a parallel process, it would transform the serial processinto A^(t) ¹ ^(×t) ² =A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ ⊕BF^(t) ¹ namely, byrunning a diffusion-table F^(t) ¹ and a medium-constant BF^(t) ¹ ,through a slightly complicated design but with the concomitant advantageof shortening the time required. Furthermore, for the initialization ofA, FIG. 2, a password bit selects a first value for A^(t) ¹ ^(×t) ²=A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ ⊕BF^(t) ¹ , and a second value for A^(t) ¹^(×t) ² =A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ .

The cryptographic process flow comprises steps of:

-   -   1. choosing a diffusion-area A, creating a diffusion-table F^(t)        ¹ ;    -   2. choosing a medium-area B, creating a medium-constant BF^(t) ¹        ;    -   3. setting A's initial value A⁰ by a password; t₂=1;    -   4. obtaining a new value A^(t) ¹ ^(×t) ² , wherein A^(t) ¹ ^(×t)        ² =A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ ⊕BF^(t) ¹ ;    -   5. inputting a bit of a plaintext/ciphertext stream in sequence;    -   6. outputting a bit of the ciphertext/plaintext stream, equally,        XORing the bit of the plaintext/ciphertext stream with an        assigned bit of A^(t) ¹ ^(×t) ² ;    -   7. letting t₂=t₂+1, going back to Step 4, until the        encryption/decryption is complete.

Symbols and Definitions:

-   -   A: a diffusion-area, wherein A contains an initial value A⁰ and        further, is a d₁×d₂× . . . ×d_(m) binary matrix with a        combination of positions labeled sequentially from 1 to n,        accordingly, the bit values from a₁ to a_(n).    -   S: a diffusion-medium, wherein S is a m-dimensional binary        matrix, and further, includes an anchor-position {dot over (S)}.    -   B: a medium-area, wherein B is a d₁×d₂× . . . ×d_(m) zero matrix        with a combination of positions labeled sequentially from 1 to        n.    -   BF^(t) ¹ : a medium-constant, wherein B performs a diffusion        mechanism F^(t) ¹ once, as abbreviated for F(p₁, p₂ ^(t) ¹ , . .        . , p_(k)), i.e. F(p₁, p₂, . . . , p_(k)) repeated t₁ times.    -   AF^(t) ¹ : A performs a diffusion-table F^(t) ¹ , wherein F^(t)        ¹ =FF(p₁, p₂ ^(t) ¹ , . . . , p_(k)) performed once, comprising        of:        -   F is a zero matrix with d₁×d₂× . . . ×d_(m) plus one            dimension with magnitude of d₁×d₂× . . . ×d_(m), called            layers, equally; in addition, 1's are at the i^(th) position            on the i^(th) layer; for example,

$\mspace{79mu} {{{(a)\mspace{14mu} a\mspace{14mu} 4 \times 4\; F} = \begin{bmatrix}1000 \\0100 \\0010 \\0001\end{bmatrix}},\mspace{79mu} {{{(b)\mspace{14mu} a\mspace{14mu} 2 \times 2 \times 4\; F} = {\overset{\overset{1{st}}{}}{\begin{bmatrix}1 & 0 \\0 & 0\end{bmatrix}}\overset{\overset{2{nd}}{}}{\begin{bmatrix}0 & 0 \\1 & 0\end{bmatrix}}\overset{\overset{3{rd}}{}}{\begin{bmatrix}0 & 1 \\0 & 0\end{bmatrix}}\overset{\overset{4{th}}{}}{\begin{bmatrix}0 & 0 \\0 & 1\end{bmatrix}}}};}}$${{(c)\mspace{14mu} a\mspace{14mu} 4 \times 4 \times 16\; F} = {\overset{\overset{1{st}}{}}{\begin{bmatrix}1000 \\0000 \\0000 \\0000\end{bmatrix}}\overset{\overset{2{nd}}{}}{\begin{bmatrix}0000 \\1000 \\0000 \\0000\end{bmatrix}}\overset{\overset{3{rd}}{}}{\begin{bmatrix}0000 \\0000 \\1000 \\0000\end{bmatrix}}\overset{\overset{4{th}}{}}{\begin{bmatrix}0000 \\0000 \\0000 \\1000\end{bmatrix}}\mspace{14mu} \ldots \mspace{14mu} \overset{\overset{13{th}}{}}{\begin{bmatrix}0001 \\0000 \\0000 \\0000\end{bmatrix}}\overset{\overset{14{th}}{}}{\begin{bmatrix}0000 \\0001 \\0000 \\0000\end{bmatrix}}\overset{\overset{15{th}}{}}{\begin{bmatrix}0000 \\0000 \\0001 \\0000\end{bmatrix}}\overset{\overset{16{th}}{}}{\begin{bmatrix}0000 \\0000 \\0000 \\0001\end{bmatrix}}}};$

-   -    wherein a 1×4 A is applied with the 4×4 F; a 2×2 A is applied        with the 2×2×4 F; further, a 4×4 A is applied with the 4×4×16 F;        and so on.        -   FF(p₁, p₂, . . . , p_(k)): F performs the diffusion            functions F(p₁, p₂, . . . , p_(k)), sequentially at the            m-dimension positions p₁, p₂, . . . , p_(k); for example, a            1×4 A applied with the 4×4 F, FF(p)=F⊕Fy_(p), FF(1:4) as            follows (Fy(0) indicated in boldface hereafter):

${{{FF}(1)} = {{\begin{bmatrix}1000 \\0100 \\0010 \\0001\end{bmatrix} \oplus \begin{bmatrix}0100 \\0010 \\0001 \\0000\end{bmatrix}} = \begin{bmatrix}1100 \\0110 \\0011 \\0001\end{bmatrix}}};$ ${{{FF}\left( {1:2} \right)} = {{\begin{bmatrix}1100 \\0110 \\0011 \\0001\end{bmatrix} \oplus \begin{bmatrix}1010 \\1011 \\0001 \\0000\end{bmatrix}} = \begin{bmatrix}0110 \\1101 \\0010 \\0001\end{bmatrix}}};$ ${{{FF}\left( {1:3} \right)} = {{\begin{bmatrix}0110 \\1101 \\0010 \\0001\end{bmatrix} \oplus \begin{bmatrix}1101 \\1000 \\0101 \\0000\end{bmatrix}} = \begin{bmatrix}1011 \\0101 \\0111 \\0001\end{bmatrix}}};$ ${{FF}\left( {1:4} \right)} = {{\begin{bmatrix}1011 \\0101 \\0111 \\0001\end{bmatrix} \oplus \begin{bmatrix}0110 \\1010 \\1110 \\0010\end{bmatrix}} = {\begin{bmatrix}1101 \\1111 \\1001 \\0011\end{bmatrix}.}}$

Suppose AF¹, with the diffusion-table F¹=FF(1:4), so according to theabove derivation, the next a₁=a₁⊕a₂⊕a₃, see 1's at the first position onevery layer, the i^(th) layer represented for current a_(i); thusreferring the second position on every layer, the next a₂=a₁⊕a₂;further, a₃=a₂⊕a₄; finally, a₄=a₁⊕a₂⊕a₃⊕a₄.

Moreover, a 2×2 A applied with the 2×2×4 F, FF(p)=F⊕Fx_(i)⊕Fy_(j),FF(1:4) as follows (Fx(0) also indicated in boldface hereafter):

$\begin{matrix}{{{FF}(1)} = {F \oplus {Fx}_{1} \oplus {Fy}_{1}}} \\{= {{\overset{\overset{1{st}}{}}{\begin{bmatrix}1 & 0 \\0 & 0\end{bmatrix}}\overset{\overset{2{nd}}{}}{\begin{bmatrix}0 & 0 \\1 & 0\end{bmatrix}}\overset{\overset{3{rd}}{}}{\begin{bmatrix}0 & 1 \\0 & 0\end{bmatrix}}\overset{\overset{4{th}}{}}{\begin{bmatrix}0 & 0 \\0 & 1\end{bmatrix}}} \oplus}} \\{{{\overset{\overset{1{st}}{}}{\begin{bmatrix}0 & 0 \\1 & 0\end{bmatrix}}\overset{\overset{2{nd}}{}}{\begin{bmatrix}0 & 0 \\0 & 0\end{bmatrix}}\overset{\overset{3{rd}}{}}{\begin{bmatrix}0 & 0 \\0 & 1\end{bmatrix}}\overset{\overset{4{th}}{}}{\begin{bmatrix}0 & 0 \\0 & 0\end{bmatrix}}} \oplus}} \\{{{\overset{\overset{1{st}}{}}{\begin{bmatrix}0 & 1 \\0 & 0\end{bmatrix}}\overset{\overset{2{nd}}{}}{\begin{bmatrix}0 & 0 \\0 & 1\end{bmatrix}}\overset{\overset{3{rd}}{}}{\begin{bmatrix}0 & 0 \\0 & 0\end{bmatrix}}\overset{\overset{4{th}}{}}{\begin{bmatrix}0 & 0 \\0 & 0\end{bmatrix}}};}}\end{matrix}$ $\begin{matrix}{{{FF}\left( {1:2} \right)} = {\left\lbrack {{FF}(1)} \right\rbrack \oplus {\left\lbrack {{FF}(1\rbrack} \right)x_{2}} \oplus {\left\lbrack {{FF}(1)} \right\rbrack y_{1}}}} \\{= {{\overset{\overset{1{st}}{}}{\begin{bmatrix}1 & 1 \\1 & 0\end{bmatrix}}\overset{\overset{2{nd}}{}}{\begin{bmatrix}0 & 0 \\1 & 1\end{bmatrix}}\overset{\overset{3{rd}}{}}{\begin{bmatrix}0 & 1 \\0 & 1\end{bmatrix}}\overset{\overset{4{th}}{}}{\begin{bmatrix}0 & 0 \\0 & 1\end{bmatrix}}} \oplus}} \\{{{\overset{\overset{1{st}}{}}{\begin{bmatrix}1 & 0 \\0 & 0\end{bmatrix}}\overset{\overset{2{nd}}{}}{\begin{bmatrix}1 & 1 \\0 & 0\end{bmatrix}}\overset{\overset{3{rd}}{}}{\begin{bmatrix}0 & 1 \\0 & 0\end{bmatrix}}\overset{\overset{4{th}}{}}{\begin{bmatrix}0 & 1 \\0 & 0\end{bmatrix}}} \oplus}} \\{{{\overset{\overset{1{st}}{}}{\begin{bmatrix}0 & 1 \\0 & 1\end{bmatrix}}\overset{\overset{2{nd}}{}}{\begin{bmatrix}0 & 0 \\0 & 1\end{bmatrix}}\overset{\overset{3{rd}}{}}{\begin{bmatrix}0 & 0 \\0 & 0\end{bmatrix}}\overset{\overset{4{th}}{}}{\begin{bmatrix}0 & 0 \\0 & 0\end{bmatrix}}};}}\end{matrix}$ $\begin{matrix}{{{FF}\left( {1:3} \right)} = {\left\lbrack {{FF}\left( {1:2} \right)} \right\rbrack \oplus {\left\lbrack {{FF}\left( {1:2} \right\rbrack} \right)x_{1}} \oplus {\left\lbrack {{FF}\left( {1:2} \right)} \right\rbrack y_{2}}}} \\{= {{\overset{\overset{1{st}}{}}{\begin{bmatrix}0 & 0 \\1 & 1\end{bmatrix}}\overset{\overset{2{nd}}{}}{\begin{bmatrix}1 & 1 \\1 & 0\end{bmatrix}}\overset{\overset{3{rd}}{}}{\begin{bmatrix}0 & 0 \\0 & 1\end{bmatrix}}\overset{\overset{4{th}}{}}{\begin{bmatrix}0 & 1 \\0 & 1\end{bmatrix}}} \oplus}} \\{{{\overset{\overset{1{st}}{}}{\begin{bmatrix}0 & 0 \\0 & 0\end{bmatrix}}\overset{\overset{2{nd}}{}}{\begin{bmatrix}0 & 0 \\1 & 1\end{bmatrix}}\overset{\overset{3{rd}}{}}{\begin{bmatrix}0 & 0 \\0 & 0\end{bmatrix}}\overset{\overset{4{th}}{}}{\begin{bmatrix}0 & 0 \\0 & 1\end{bmatrix}}} \oplus}} \\{{{\overset{\overset{1{st}}{}}{\begin{bmatrix}0 & 0 \\1 & 0\end{bmatrix}}\overset{\overset{2{nd}}{}}{\begin{bmatrix}1 & 0 \\0 & 0\end{bmatrix}}\overset{\overset{3{rd}}{}}{\begin{bmatrix}0 & 0 \\1 & 0\end{bmatrix}}\overset{\overset{4{th}}{}}{\begin{bmatrix}1 & 0 \\1 & 0\end{bmatrix}}};}}\end{matrix}$ $\begin{matrix}{{{FF}\left( {1:4} \right)} = {\left\lbrack {{FF}\left( {1:3} \right)} \right\rbrack \oplus {\left\lbrack {{FF}\left( {1:3} \right\rbrack} \right)x_{2}} \oplus {\left\lbrack {{FF}\left( {1:3} \right)} \right\rbrack y_{2}}}} \\{= {{\overset{\overset{1{st}}{}}{\begin{bmatrix}0 & 0 \\0 & 1\end{bmatrix}}\overset{\overset{2{nd}}{}}{\begin{bmatrix}0 & 1 \\0 & 1\end{bmatrix}}\overset{\overset{3{rd}}{}}{\begin{bmatrix}0 & 0 \\1 & 1\end{bmatrix}}\overset{\overset{4{th}}{}}{\begin{bmatrix}0 & 1 \\1 & 0\end{bmatrix}}} \oplus}} \\{{{\overset{\overset{1{st}}{}}{\begin{bmatrix}0 & 1 \\0 & 0\end{bmatrix}}\overset{\overset{2{nd}}{}}{\begin{bmatrix}0 & 1 \\0 & 0\end{bmatrix}}\overset{\overset{3{rd}}{}}{\begin{bmatrix}1 & 1 \\0 & 0\end{bmatrix}}\overset{\overset{4{th}}{}}{\begin{bmatrix}1 & 0 \\0 & 0\end{bmatrix}}} \oplus}} \\{{\overset{\overset{1{st}}{}}{\begin{bmatrix}0 & 0 \\1 & 0\end{bmatrix}}\overset{\overset{2{nd}}{}}{\begin{bmatrix}1 & 0 \\1 & 0\end{bmatrix}}\overset{\overset{3{rd}}{}}{\begin{bmatrix}0 & 0 \\1 & 0\end{bmatrix}}{\overset{\overset{4{th}}{}}{\begin{bmatrix}1 & 0 \\0 & 0\end{bmatrix}}.}}}\end{matrix}$

Suppose AF¹, wherein

${F^{1} = {{{FF}\left( {1:4} \right)} = {\overset{\overset{1{st}}{}}{\begin{bmatrix}0 & 1 \\1 & 1\end{bmatrix}}\overset{\overset{2{nd}}{}}{\begin{bmatrix}1 & 0 \\1 & 1\end{bmatrix}}\overset{\overset{3{rd}}{}}{\begin{bmatrix}1 & 1 \\0 & 1\end{bmatrix}}\overset{\overset{4{th}}{}}{\begin{bmatrix}1 & 1 \\1 & 0\end{bmatrix}}}}};$

four layers represent the current a₁ to a₄, through by the firstposition, the next a₁=a₂⊕a₃⊕a₄; by the second position, the nexta₂=a₁⊕a₂⊕a₄; further, by the third position, the next a₃=a₁⊕a₃⊕a₄; andfinally, by the fourth position, the next a₄=a₁⊕a₂⊕a₃.

Preferred Embodiment IV Diffusion Mechanisms in a Parallel Process

Firstly, in Embodiment I, now that the diffusion mechanism F¹=F(13:13),A⁰=[0000000000000000], and S=1 placed at the anchor-position, thesequential value of diffusion-area A^(1×t) ² =A^(1×(t) ² ⁻¹⁾F¹⊕BF¹,wherein a medium-constant BF¹ and a diffusion-table F¹ are performedonly once at the beginning; BF¹=BF(13:13)=[1011001101100011], derived asA¹, in Embodiment I, and further, F¹=FF(13:13), wherein FF(p)=F⊕Fy_(p),may refer to the whole derivation of two-dimensional FF(1:4), and F issuch as a 16×16 unit matrix, with a one-dimension diffusion function ina two-dimension matrix; positions are orderly ordered from 13 to 16 thenfrom 1 to 13, each position's diffusion function is shown in Table 1,and for greater clarity, the final result is shown in Table 2.Furthermore, reading from the i^(th) position of all layers, namely,referring to the i^(th) column to obtain the next a_(i), allcombinations are shown in Table 3.

Therefore, according to Table 3, new values in sequence as below:

${{{for}\mspace{14mu} t_{2}} = 1},\begin{matrix}{A^{1 \times 1} = {{A^{0}F^{1}} \oplus {BF}^{1}}} \\{= {\left\lbrack {0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0} \right\rbrack \oplus}} \\{{\left\lbrack {1\; 0\; 1\; 1\; 0\; 0\; 1\; 1\; 0\; 1\; 1\; 0\; 0\; 0\; 1\; 1} \right\rbrack;}}\end{matrix}$${{{the}\mspace{14mu} {results}\mspace{14mu} {is}\mspace{14mu} {the}\mspace{14mu} {same}\mspace{14mu} {as}\mspace{14mu} A^{1}\mspace{14mu} {in}\mspace{14mu} {Embodiment}\mspace{14mu} {I.{for}}\mspace{14mu} t_{2}} = 2},\begin{matrix}{A^{1 \times 2} = {{A^{1 \times 1}F^{1}} \oplus {BF}^{1}}} \\{= {\left\lbrack {1\; 1\; 0\; 1\; 1\; 0\; 1\; 0\; 1\; 1\; 0\; 1\; 0\; 0\; 0\; 1} \right\rbrack \oplus \left\lbrack {1\; 0\; 1\; 1\; 0\; 0\; 1\; 1\; 0\; 1\; 1\; 0\; 0\; 0\; 1\; 1} \right\rbrack}} \\{{= {0\; 1\; 1\; 0\; 1\; 0\; 0\; 1\; 1\; 0\; 1\; 1\; 0\; 0\; 1\; 0}};}\end{matrix}$the  results  is  the  same  as  A²  in  Embodiment  I.Derivation  of  A^(1 × 1)F¹:Now  that $\begin{matrix}{A^{1 \times 1} = \left\lbrack {a_{1},a_{2},\ldots \mspace{14mu},a_{16}} \right\rbrack} \\{{= \begin{bmatrix}\overset{1}{1} & \overset{2}{0} & \overset{3}{1} & \overset{4}{1} & \overset{5}{0} & \overset{6}{0} & \overset{7}{1} & \overset{8}{1} & \overset{9}{0} & \overset{10}{1} & \overset{11}{1} & \overset{12}{0} & \overset{13}{0} & \overset{14}{0} & \overset{15}{1} & \overset{16}{1}\end{bmatrix}};}\end{matrix}$the  next  a₁ = a₁ ⊕ a₇ ⊕ a₉ ⊕ a₁₁ = 1 ⊕ 1 ⊕ 0 ⊕ 1 = 1; the  next$\begin{matrix}{a_{2} = {a_{1} \oplus a_{2} \oplus a_{5} \oplus a_{8} \oplus a_{10} \oplus a_{12}}} \\{= {{1 \oplus 0 \oplus 0 \oplus 1 \oplus 1 \oplus 0} = {\quad{1;\ldots \mspace{11mu};}}}}\end{matrix}$the  next  a₁₆ = a₃ ⊕ a₄ ⊕ a₁₃ ⊕ a₁₅ = 1 ⊕ 1 ⊕ 0 ⊕ 1 = 1.${{Prove}\mspace{14mu} {likewise}},{{{for}\mspace{14mu} t_{2}} = 3},\begin{matrix}{A^{1 \times 2} = \left\lbrack {a_{1},a_{2},\ldots \mspace{11mu},a_{16}} \right\rbrack} \\{{= \begin{bmatrix}\overset{1}{0} & \overset{2}{1} & \overset{3}{1} & \overset{4}{0} & \overset{5}{1} & \overset{6}{0} & \overset{7}{0} & \overset{8}{1} & \overset{9}{1} & \overset{10}{0} & \overset{11}{1} & \overset{12}{1} & \overset{13}{0} & \overset{14}{0} & \overset{15}{1} & \overset{16}{0}\end{bmatrix}},}\end{matrix}$ $\begin{matrix}{A^{1 \times 3} = {{A^{1 \times 2}F^{1}} \oplus {BF}^{1}}} \\{= {\left\lbrack {0\; 0\; 1\; 1\; 0\; 1\; 1\; 1\; 0\; 0\; 0\; 0\; 1\; 0\; 0\; 0} \right\rbrack \oplus \left\lbrack {1\; 0\; 1\; 1\; 0\; 0\; 1\; 1\; 0\; 1\; 1\; 0\; 0\; 0\; 1\; 1} \right\rbrack}} \\{{= {1\; 0\; 0\; 0\; 0\; 1\; 0\; 0\; 0\; 1\; 1\; 0\; 1\; 0\; 1\; 1}};}\end{matrix}$${{{the}\mspace{14mu} {result}\mspace{14mu} {is}\mspace{14mu} {the}\mspace{14mu} {same}\mspace{14mu} {as}\mspace{14mu} A^{3}\mspace{14mu} {in}\mspace{14mu} {Embodiment}\mspace{14mu} {{II}.{for}}\mspace{14mu} t_{2}} = 4},\begin{matrix}{A^{1 \times 3} = \left\lbrack {a_{1},a_{2},\ldots \mspace{11mu},a_{16}} \right\rbrack} \\{{= \begin{bmatrix}\overset{1}{1} & \overset{2}{0} & \overset{3}{0} & \overset{4}{0} & \overset{5}{0} & \overset{6}{1} & \overset{7}{0} & \overset{8}{0} & \overset{9}{0} & \overset{10}{1} & \overset{11}{1} & \overset{12}{0} & \overset{13}{1} & \overset{14}{0} & \overset{15}{1} & \overset{16}{1}\end{bmatrix}},}\end{matrix}$ $\begin{matrix}{A^{1 \times 4} = {{A^{1 \times 3}F^{1}} \oplus {BF}^{1}}} \\{= {\left\lbrack {0\; 0\; 1\; 0\; 1\; 1\; 0\; 1\; 0\; 1\; 0\; 1\; 0\; 1\; 1\; 0} \right\rbrack \oplus \left\lbrack {1\; 0\; 1\; 1\; 0\; 0\; 1\; 1\; 0\; 1\; 1\; 0\; 0\; 0\; 1\; 1} \right\rbrack}} \\{{= {1\; 0\; 0\; 1\; 1\; 1\; 1\; 0\; 0\; 0\; 1\; 1\; 0\; 1\; 0\; 1}};}\end{matrix}$the  result  is  the  same  as  A⁴  in  Embodiment  II.

TABLE 1      ${{{FF}(13)} = {{\begin{bmatrix}\text{1000000000000000} \\\vdots \\\text{0000000000010000} \\\text{0000000000001000} \\\text{0000000000000100} \\\text{0000000000000010} \\\text{0000000000000001}\end{bmatrix} \oplus \begin{bmatrix}{\text{000000000000}\text{0}\text{000}} \\\vdots \\{\text{000000000010}\text{0}\text{000}} \\{\text{000000000001}\text{0}\text{100}} \\{\text{000000000000}\text{0}\text{010}} \\{\text{000000000000}\text{0}\text{001}} \\{\text{000000000000}\text{0}\text{000}}\end{bmatrix}} = \begin{bmatrix}\text{1000000000000000} \\\vdots \\\text{0000000000110000} \\\text{0000000000011100} \\\text{0000000000000110} \\\text{0000000000000011} \\\text{0000000000000001}\end{bmatrix}}};$ ${{{FF}\left( {13:14} \right)} = {{\begin{bmatrix}\text{1000000000000000} \\\vdots \\\text{0000000000110000} \\\text{0000000000011100} \\\text{0000000000000110} \\\text{0000000000000011} \\\text{0000000000000001}\end{bmatrix} \oplus \begin{bmatrix}{\text{000000000000}\text{0}\text{0}\text{00}} \\\vdots \\{\text{000000000110}\text{0}\text{0}\text{00}} \\{\text{000000000011}\text{1}\text{0}\text{10}} \\{\text{000000000000}\text{1}\text{0}\text{11}} \\{\text{000000000000}\text{0}\text{0}\text{01}} \\{\text{000000000000}\text{0}\text{0}\text{00}}\end{bmatrix}} = \begin{bmatrix}\text{1000000000000000} \\\vdots \\\text{0000000001010000} \\\text{0000000000100110} \\\text{0000000000001101} \\\text{0000000000000010} \\\text{0000000000000001}\end{bmatrix}}};$ ${{FF}\left( {13:13} \right)} = {{\begin{bmatrix}\text{1011011011011000} \\\vdots \\\text{0011001100110000} \\\text{0000101101110110} \\\text{0000000010101100} \\\text{0000000000001001} \\\text{0000000000000011}\end{bmatrix} \oplus \begin{bmatrix}{\text{011011011011}\text{0}\text{100}} \\\vdots \\{\text{011001100110}\text{0}\text{000}} \\{\text{000101101110}\text{0}\text{011}} \\{\text{000000010101}\text{0}\text{110}} \\{\text{000000000001}\text{0}\text{100}} \\{\text{000000000000}\text{0}\text{0}\text{01}}\end{bmatrix}} = {\begin{bmatrix}\text{1101101101101100} \\\vdots \\\text{0101010101010000} \\\text{0001110110010101} \\\text{0000000111111010} \\\text{0000000000011101} \\\text{0000000000000010}\end{bmatrix}.}}$

TABLE 2$F^{1} = {{{FF}\left( {13\text{:}13} \right)} = \begin{bmatrix}1 & 1 & 0 & 1 & 1 & 0 & 1 & 1 & 0 & 1 & 1 & 0 & 1 & 1 & 0 & 0 \\0 & 1 & 0 & 0 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 1 & 0 & 1 & 1 & 0 \\0 & 0 & 0 & 1 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 1 & 0 & 0 & 1 & 1 \\0 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 1 \\0 & 1 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\0 & 0 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\1 & 0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 0 \\0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 \\1 & 0 & 1 & 0 & 1 & 0 & 1 & 1 & 0 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 0 \\0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 \\0 & 0 & 0 & 1 & 1 & 1 & 0 & 1 & 1 & 0 & 0 & 1 & 0 & 1 & 0 & 1 \\0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 & 1 & 1 & 0 & 1 & 0 \\0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 1 & 0 & 1 \\0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0\end{bmatrix}}$

TABLE 3 at time t₂ at time t₂ − 1 a₁ a₁ ⊕ a₇ ⊕ a₉ ⊕ a₁₁ a₂ a₁ ⊕ a₂ ⊕ a₅⊕ a₈ ⊕ a₁₀ ⊕ a₁₂ a₃ a₅ ⊕ a₇ ⊕ a₉ ⊕ a₁₁ a₄ a₁ ⊕ a₃ ⊕ a₆ ⊕ a₇ ⊕ a₈ ⊕ a₁₀ ⊕a₁₂ ⊕ a₁₃ a₅ a₁ ⊕ a₃ ⊕ a₅ ⊕ a₉ ⊕ a₁₁ ⊕ a₁₃ a₆ a₂ ⊕ a₄ ⊕ a₅ ⊕ a₆ ⊕ a₁₀ ⊕a₁₂ ⊕ a₁₃ a₇ a₁ ⊕ a₃ ⊕ a₉ ⊕ a₁₁ a₈ a₁ ⊕ a₂ ⊕ a₄ ⊕ a₇ ⊕ a₉ ⊕ a₁₀ ⊕ a₁₂ ⊕a₁₃ ⊕ a₁₄ a₉ a₃ ⊕ a₇ ⊕ a₁₁ ⊕ a₁₃ ⊕ a₁₄ a₁₀ a₁ ⊕ a₄ ⊕ a₅ ⊕ a₈ ⊕ a₉ ⊕ a₁₂⊕ a₁₄ a₁₁ a₁ ⊕ a₃ ⊕ a₅ ⊕ a₇ ⊕ a₉ ⊕ a₁₁ ⊕ a₁₄ a₁₂ a₂ ⊕ a₃ ⊕ a₄ ⊕ a₅ ⊕ a₆⊕ a₇ ⊕ a₈ ⊕ a₉ ⊕ a₁₀ ⊕ a₁₁ ⊕ a₁₂ ⊕ a₁₃ ⊕ a₁₄ ⊕ a₁₅ a₁₃ a₁ ⊕ a₁₄ ⊕ a₁₅a₁₄ a₁ ⊕ a₂ ⊕ a₁₃ ⊕ a₁₅ a₁₅ a₂ ⊕ a₃ ⊕ a₁₄ ⊕ a₁₆ a₁₆ a₃ ⊕ a₄ ⊕ a₁₃ ⊕ a₁₅

Secondly, with Embodiment II, to comply with the diffusion mechanismF²=F(13²:13), the sequential value A^(2×t) ² =A^(2×(t) ² ⁻¹⁾F²⊕BF²,wherein BF²=[BF(13:13)]F(13:13), is derived as A², in Embodiment I,equals to [0110100110110010], and further, F²=FF(13²:13), wherein avalue FF(13:13), see Table 2, performs the diffusion functions F(13:13),derived as Table 1; the diffusion-table F² is shown in Table 4.

TABLE 4 at time t₂ at time t₂ − 1 a₁ a₁ ⊕ a₃ ⊕ a₅ ⊕ a₇ ⊕ a₉ ⊕ a₁₃ a₂ a₁⊕ a₂ ⊕ a₄ ⊕ a₆ ⊕ a₇ ⊕ a₈ ⊕ a₉ ⊕ a₁₀ ⊕ a₁₁ ⊕ a₁₃ ⊕ a₁₄ ⊕ a₁₅ a₃ a₁ ⊕ a₉a₄ a₁ ⊕ a₂ ⊕ a₁₀ ⊕ a₁₃ a₅ a₃ ⊕ a₅ ⊕ a₁₁ ⊕ a₁₄ ⊕ a₁₅ a₆ a₁ ⊕ a₂ ⊕ a₃ ⊕ a₄⊕ a₅ ⊕ a₆ ⊕ a₉ ⊕ a₁₂ ⊕ a₁₄ a₇ a₉ ⊕ a₁₃ a₈ a₁ ⊕ a₂ ⊕ a₅ ⊕ a₁₀ ⊕ a₁₅ a₉ a₂⊕ a₉ ⊕ a₁₁ ⊕ a₁₃ a₁₀ a₁ ⊕ a₂ ⊕ a₇ ⊕ a₁₀ ⊕ a₁₂ ⊕ a₁₄ a₁₁ a₁ ⊕ a₂ ⊕ a₅ ⊕a₉ ⊕ a₁₃ ⊕ a₁₅ a₁₂ a₁ ⊕ a₃ ⊕ a₅ ⊕ a₆ ⊕ a₉ ⊕ a₁₀ ⊕ a₁₃ ⊕ a₁₄ ⊕ a₁₅ ⊕ a₁₆a₁₃ a₃ ⊕ a₇ ⊕ a₉ ⊕ a₁₁ ⊕ a₁₃ ⊕ a₁₄ ⊕ a₁₅ ⊕ a₁₆ a₁₄ a₁⊕ a₃ ⊕ a₅ ⊕ a₇ ⊕ a₈⊕ a₉ ⊕ a₁₀ ⊕ a₁₁ ⊕ a₁₂ ⊕ a₁₅ ⊕ a₁₆ a₁₅ a₃ ⊕ a₄ ⊕ a₇ ⊕ a₈ ⊕ a₉ ⊕ a₁₀ ⊕a₁₁ ⊕ a₁₂ a₁₆ a₂ ⊕ a₅ ⊕ a₆ ⊕ a₈ ⊕ a₉ ⊕ a₁₀ ⊕ a₁₁ ⊕ a₁₂ ⊕ a₁₃ ⊕ a₁₅ ⊕ a₁₆

Therefore, according to Table 4, new values in sequence as below:

${{{for}\mspace{14mu} t_{2}} = 1},\begin{matrix}{A^{2 \times 1} = {{A^{0}F^{2}} \oplus {BF}^{2}}} \\{{= {\left\lbrack {0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0} \right\rbrack \oplus \left\lbrack {0\; 1\; 1\; 0\; 1\; 0\; 0\; 1\; 1\; 0\; 1\; 1\; 0\; 0\; 1\; 0} \right\rbrack}};}\end{matrix}$${{{the}\mspace{14mu} {results}\mspace{14mu} {is}\mspace{14mu} {the}\mspace{14mu} {same}\mspace{14mu} {as}\mspace{14mu} A^{1}\mspace{14mu} {in}\mspace{14mu} {Embodiment}\mspace{14mu} {I.{for}}\mspace{14mu} t_{2}} = 2},\begin{matrix}{A^{2 \times 2} = {{A^{2 \times 1}F^{2}} \oplus {BF}^{2}}} \\{= {\left\lbrack {1\; 1\; 1\; 1\; 0\; 1\; 1\; 1\; 1\; 0\; 0\; 0\; 0\; 1\; 1\; 1}\; \right\rbrack \oplus \left\lbrack {0\; 1\; 1\; 0\; 1\; 0\; 0\; 1\; 1\; 0\; 1\; 1\; 0\; 0\; 1\; 0} \right\rbrack}} \\{{= {1\; 0\; 0\; 1\; 1\; 1\; 1\; 0\; 0\; 0\; 1\; 1\; 0\; 1\; 0\; 1}};}\end{matrix}$the  results  is  the  same  as  A⁴  in  Embodiment  II.Derivation  of  A^(2 × 1)F²:Now  that $\begin{matrix}{A^{2 \times 1} = \left\lbrack {a_{1},a_{2},\ldots \mspace{14mu},a_{16}} \right\rbrack} \\{{= \begin{bmatrix}\overset{1}{0} & \overset{2}{1} & \overset{3}{1} & \overset{4}{0} & \overset{5}{1} & \overset{6}{0} & \overset{7}{0} & \overset{8}{1} & \overset{9}{1} & \overset{10}{0} & \overset{11}{1} & \overset{12}{1} & \overset{13}{0} & \overset{14}{0} & \overset{15}{1} & \overset{16}{0}\end{bmatrix}};}\end{matrix}$ the  nexta₁ = a₁ ⊕ a₃ ⊕ a₅ ⊕ a₇ ⊕ a₉ ⊕ a₁₃ = 0 ⊕ 1 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 0 = 1;the  next $\begin{matrix}{a_{2} = {a_{1} \oplus a_{2} \oplus a_{4} \oplus a_{6} \oplus a_{7} \oplus a_{8} \oplus a_{9} \oplus a_{10} \oplus}} \\{{a_{11} \oplus a_{13} \oplus a_{14} \oplus a_{15}}} \\{= {0 \oplus 1 \oplus 0 \oplus 0 \oplus 0 \oplus 1 \oplus 1 \oplus 0 \oplus 1 \oplus 0 \oplus 0 \oplus 1}} \\{{= 1};\ldots \mspace{14mu};}\end{matrix}$ the  next $\begin{matrix}{a_{16} = {a_{2} \oplus a_{5} \oplus a_{6} \oplus a_{8} \oplus a_{9} \oplus a_{10} \oplus a_{11} \oplus a_{12} \oplus a_{13} \oplus a_{15} \oplus a_{16}}} \\{= {{1 \oplus 1 \oplus 0 \oplus 1 \oplus 1 \oplus 0 \oplus 1 \oplus 1 \oplus 0 \oplus 1 \oplus 0} = 1.}}\end{matrix}$

Thirdly, in Embodiment III, now that A is a 4×4 matrix, thus, the F willbe a 4×4×16 zero matrix, further, 1's at the i^(th) position on thei^(th) layer; the diffusion function F(p)=F⊕Fx_(i)⊕Fy_(j), may refer tothe whole derivation of three-dimensional FF(1:4). According to thediffusion mechanism F¹=F(8:8), the sequential value of diffusion-areaA^(1×t) ² =A^(1×(t) ² ⁻¹⁾F¹⊕BF¹, wherein BF¹=BF(8:8)=[1010001000100100],derived as A¹, Embodiment III, and F¹=FF(8:8) is shown in Table 5.

TABLE 5 at time t₂ at time t₂ − 1 a₁ a₁ ⊕ a₄ ⊕ a₅ ⊕ a₆ ⊕ a₉ ⊕ a₁₁ ⊕ a₁₂⊕ a₁₆ a₂ a₄ ⊕ a₅ ⊕ a₆ ⊕ a₁₁ ⊕ a₁₂ ⊕ a₁₃ ⊕ a₁₅ a₃ a₁ ⊕ a₂ ⊕ a₇ ⊕ a₈ ⊕ a₁₀⊕ a₁₂ ⊕ a₁₃ ⊕ a₁₄ a₄ a₁ ⊕ a₈ ⊕ a₉ ⊕ a₁₁ ⊕ a₁₂ ⊕ a₁₅ a₅ a₁ ⊕ a₅ ⊕ a₆ ⊕ a₉⊕ a₁₀ ⊕ a₁₂ ⊕ a₁₃ ⊕ a₁₄ ⊕ a₁₅ ⊕ a₁₆ a₆ a₂ ⊕ a₃ ⊕ a₄ ⊕ a₅ ⊕ a₇ ⊕ a₈ ⊕ a₉⊕ a₁₁ ⊕ a₁₄ ⊕ a₁₆ a₇ a₃ ⊕ a₈ ⊕ a₉ ⊕ a₁₂ ⊕ a₁₅ ⊕ a₁₆ a₈ a₁ ⊕ a₂ ⊕ a₃ ⊕ a₅⊕ a₇ ⊕ a₁₂ ⊕ a₁₃ ⊕ a₁₅ ⊕ a₁₆ a₉ a₁ ⊕ a₂ ⊕ a₃ ⊕ a₄ ⊕ a₅ ⊕ a₈ ⊕ a₉ ⊕ a₁₃ ⊕a₁₄ ⊕ a₁₅ ⊕ a₁₆ a₁₀ a₃ ⊕ a₅ ⊕ a₈ ⊕ a₁₀ ⊕ a₁₂ ⊕ a₁₃ ⊕ a₁₄ a₁₁ a₂ ⊕ a₃ ⊕a₄ ⊕ a₇ ⊕ a₉ ⊕ a₁₁ ⊕ a₁₂ ⊕ a₁₅ a₁₂ a₂ ⊕ a₃ ⊕ a₅ ⊕ a₆ ⊕ a₈ ⊕ a₁₀ ⊕ a₁₁ ⊕a₁₃ ⊕ a₁₄ a₁₃ a₂ ⊕ a₃ ⊕ a₄ ⊕ a₅ ⊕ a₈ ⊕ a₁₀ ⊕ a₁₂ ⊕ a₁₃ ⊕ a₁₄ ⊕ a₁₅ ⊕ a₁₆a₁₄ a₄ ⊕ a₆ ⊕ a₇ ⊕ a₈ ⊕ a₉ ⊕ a₁₁ ⊕ a₁₃ ⊕ a₁₄ a₁₅ a₁ ⊕ a₄ ⊕ a₈ ⊕ a₉ ⊕ a₁₀⊕ a₁₃ a₁₆ a₁ ⊕ a₂ ⊕ a₄ ⊕ a₅ ⊕ a₆ ⊕ a₁₀ ⊕ a₁₂ ⊕ a₁₅ ⊕ a₁₆

Hardware Architecture in Detail:

FIG. 1, 300, obtaining a new value A^(t) ¹ ^(×t) ² =A^(t) ¹ ^(×(t) ²⁻¹⁾F^(t) ¹ in a hardware architecture, would transform A^(t) ¹ ^(×t) ²=A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ ⊕BF^(t) ¹ in a parallel process into afirst circuit design shown as FIG. 3A, comprising of: a first registerR1 provided for storing an input value A^(t) ¹ ^(×(t) ² ⁻¹⁾ 310; adiffuser DF provided for receiving A^(t) ¹ ^(×(t) ² ⁻¹⁾ from R1,further, recombining A^(t) ¹ ^(×(t) ² ⁻¹⁾ with a function-table F^(t) ¹and transmitting an output value A^(t) ₁ ^(×(t) ² ⁻¹⁾F^(t) ¹ 320; afirst memory M1 provided for writing a medium-constant BF^(t) ¹ 330; anXOR Unit provided for receiving A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ from DF as afirst operand, BF^(t) ¹ from M1 as a second operand, then, performing abitwise XOR operation and transmitting an output value A^(t) ¹ ^(×t) ²340; a second register R2 provided for buffering A^(t) ¹ ^(×t) ² fromsaid XOR Unit, and feeding back said A^(t) ¹ ^(×t) ² to R1 350.

In addition, for the initialization of A, FIG. 2, a password bit selectsa first value for A^(t) ¹ ^(×t) ² =A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ ⊕BF^(t) ¹as by the above architecture, and a second value for A^(t) ¹ ^(×t) ²=A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ shown as FIG. 3B as a second design of FIG.1, 300, comprising of: a first register R1 provided for storing an inputvalue A^(t) ¹ ^(×(t) ² ⁻¹⁾ 310; a diffuser DF provided for receivingA^(t) ¹ ^(×(t) ² ⁻¹⁾ from R1, further, recombining A^(t) ¹ ^(×(t) ² ⁻¹⁾with a function-table F^(t) ¹ and transmitting an output value A^(t) ¹^(×t) ² 320; a second register R2 provided for buffering A^(t) ¹ ^(×t) ²from DF, and feeding back said A^(t) ¹ ^(×t) ² to R1 350.

The whole scheme is shown as FIG. 3C, a main component, provided forperforming a diffusion mechanism 300, as FIG. 1, 300, i.e. FIGS. 3A and3B; in addition, a switch SW, provided for receiving an input passwordfor initialization 200, as FIG. 1, 200; further comprising of: amultiplexer MUX provided for receiving A^(t) ¹ ^(×t) ² from R2, further,selecting a bit of A^(t) ¹ ^(×t) ² and transmitting the assigned bit360; a third register R3 provided for storing a streamplaintext/ciphertext in sequence and transmitting a bit each time 400,as FIG. 1, 400; an XOR gate provided for receiving said assigned bitfrom MUX as a first operand, said bit from R3 as a second operand, then,performing an XOR operation and transmitting an output bit 500, as FIG.1, 500.

Preferred Embodiment V Diffusion Mechanisms in Hardware Architecture

According to Embodiment I in a parallel process, a medium-constantBF¹=BF(13:13)=[1011001101100011] and a diffusion-table F¹=FF(13:13), seeTable 3, are generated in advance; therefore, to gain more acceleration,it would write BF¹ to M1, and transform the diffusion-table F¹ into adiffuser DF combined with a number of XOR gates shown as FIG. 4;further, in Embodiment II, write BF²=BF(13²:13)=[0110100110110010] toM1, and transform F²=FF(13²:13), see Table 4, into a diffuser DF; inEmbodiment III, BF¹=BF(8:8)=[1010001000100100] to M1, and F¹=FF(8:8),see Table 5, into a diffuser DF.

The above preferred embodiments are not only able to be appliedseparately, but also, can be taken as a whole. For example, as a numberof parallel connections as FIG. 5, every SW, provided for receiving apassword in sequence; every IN, provided for receiving an assigned partof a plaintext/ciphertext in sequence; and every OUT, provided fortransmitting the assigned part of the ciphertext/plaintext in sequence.In addition, as a number of serial connections as FIG. 6, comprises of:the first SW, provided for receiving the password in sequence, further,the former OUT, connecting to the latter SW; every IN, provided forreceiving an assigned part of a plaintext/ciphertext in sequence, andevery OUT, provided for transmitting the assigned part of theciphertext/plaintext in sequence; or for more security, only encryptingor decrypting a plaintext/ciphertext stream in Embodiment III.

In summation of the above description, the present invention hereincomplies with the constitutional, statutory, regulatory and treaty,patent application requirements and is herewith submitted for patentapplication. However, the description and its accompanied drawings areused for describing preferred embodiments of the present invention, andit is to be understood that the invention is not limited thereto. To thecontrary, it is intended to cover various modifications and similararrangements and procedures, and the scope of the appended claimstherefore should be accorded the broadest interpretation so as toencompass all such modifications and similar arrangements andprocedures.

1. A stream cryptographic method comprising steps of: (a) selecting adiffusion-area A, wherein A contains an initial value A⁰ and further, isa d₁×d₂× . . . ×d_(m) binary matrix with a combination of positionslabeled sequentially from 1 to n; (b) selecting a diffusion mechanismF^(t) ¹ applied to A, notated AF^(t) ¹ in abbreviation, wherein AF^(t) ¹=AF(p₁, p₂ ^(t) ¹ , . . . , p_(k)); (c) selecting a diffusion-medium S;(d) setting t₂=1, A^(t) ¹ ^(×(t) ² ⁻¹⁾=A⁰; (e) obtaining a new valueA^(t) ¹ ^(×t) ² , wherein A^(t) ¹ ^(×t) ² ⁻¹⁾F^(t) ¹ ; (f) outputting anassigned bit of A^(t) ¹ ^(×t) ² ; (g) if for streamencryption/decryption, then i. inputting a bit of a plaintext/ciphertextstream in sequence; ii. outputting a bit of the ciphertext/plaintextstream from where the bit of the plaintext/ciphertext stream XORs withthe assigned bit of A^(t) ¹ ^(×t) ² ; (h) letting t₂=t₂+1, going back toStep (e).
 2. The stream cryptographic method according to claim 1,wherein S is a m-dimensional binary matrix which includes ananchor-position {dot over (S)}, and further, AF(p₁, p₂ ^(t) ¹ , . . . ,p_(k)) comprises steps of: (a) setting t=1; (b) setting s=1; (c)performing A with a diffusion function F(p_(s)), wherein S overlaps A by{dot over (S)} anchoring to the position p_(s) transforming intom-dimension coordinates (i₁, i₂, . . . , i_(m)), thenAF(p_(s))=A⊕Ad_(1i)⊕Ad_(2i)⊕ . . . ⊕Ad_(mi)⊕S, 1≦p_(s)≦n; (d) if s=k,then going to next step; otherwise, s=s+1, going back to Step (c); (e)if t≠t₁, then t=t+1, going back to Step (b).
 3. The stream cryptographicmethod according to claim 1, wherein A⁰ is generated by a passwordwritten directly to A, or by reading every password bit, such that A^(t)¹ ^(×t) ² =A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ in sequence for A⁰, if a firstvalue, including S, otherwise, if a second value, excluding S i.e. S=0.4. The stream cryptographic method according to claim 1, furthercomprising a cooperation with another said method, wherein the formermethod, Step (f) controls over the latter method, Step (e), if a firstvalue, including S, otherwise, if a second value, excluding S i.e. S=0.5. A stream cryptographic method comprising steps of: (a) selecting adiffusion-area A, wherein A contains an initial value A⁰ and further, isa d₁×d₂× . . . ×d_(m) binary matrix with a combination of positionslabeled sequentially from 1 to n, accordingly, the bit values from a₁ toa_(n); (b) selecting a function-table F^(t) ¹ applied to A, notatedAF^(t) ¹ in abbreviation, wherein F^(t) ¹ is a binary matrix with d₁×d₂×. . . ×d_(m) plus one dimension with magnitude of d₁×d₂× . . . ×d_(m),i.e. layers of F^(t) ¹ ; wherein AF^(t) ¹ comprises new a_(i), 1≦i≦n,obtained by XORing with said layers having value 1 at position i,letting the i^(th) layer represent a_(i); (c) selecting amedium-constant BF^(t) ¹ ; (d) setting t₂=1, A^(t) ¹ ^(×(t) ² ⁻¹⁾=A⁰;(e) obtaining a new value A^(t) ¹ ^(×t) ² , wherein A^(t) ¹ ^(×t) ²=A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ ⊕BF^(t) ¹ ; (f) outputting a certain bit ofA^(t) ¹ ^(×t) ² ; (g) if for stream encryption/decryption, then i.inputting a bit of a plaintext/ciphertext stream in sequence; ii.outputting a bit of the ciphertext/plaintext stream from where the bitof the plaintext/ciphertext stream XORs with the assigned bit of A^(t) ¹^(×t) ² ; (h) letting t₂=t₂+1, going to Step (e).
 6. The streamcryptographic method according to claim 5, wherein F^(t) ¹ =FF(p₁, p₂^(t) ¹ , . . . , p_(k)) generated once, comprising steps of: (a) settingF is a zero matrix and 1's at the i^(th) position on the i^(th) layer;(b) setting t=1; (c) setting s=1; (d) performing F with a diffusionfunction F(p_(s)), namely FF(p_(s)), wherein p_(s) is transformed intom-dimension coordinates (i₁, i₂, . . . , i_(m)), thenFF(p_(s))=F⊕Fd_(1i)⊕Fd_(2i)⊕ . . . ⊕Fd_(mi), 1≦p_(s)≦n; (e) if s=k, thengoing to next step; otherwise, s=s+1, going back to Step (d); (f) ift≠t₁, then t=t+1, going to back Step (c);
 7. The stream cryptographicmethod according to claim 5, further comprising of, wherein BF^(t) ¹=BF(p₁, p₂ ^(t) ¹ , . . . , p_(k)) generated once, comprising steps of:(a) selecting a diffusion-medium S, wherein S is a m-dimensional binarymatrix which includes an anchor-position {dot over (S)}; (b) setting Bis a d₁×d₂× . . . ×d_(m) zero matrix; (c) setting t=1; (d) setting s=1;(e) performing B with a diffusion function F(p_(s)), namely BF(p_(s)),wherein S overlaps B by {dot over (S)} anchoring to the position p_(s)transforming into m-dimension coordinates (i₁, i₂, . . . , i_(m)) thenBF(p_(s))=B⊕Bd_(1i)⊕Bd_(2i)⊕ . . . ⊕Bd_(mi)⊕S, 1≦p_(s)≦n; (f) if s=k,then going to next step; otherwise, s=s+1, going back to Step (e); (g)if t≠t₁, then t=t+1, going back to Step (d).
 8. The stream cryptographicmethod according to claim 5, wherein A⁰ is generated by a passwordwritten directly to A, or by reading every password bit, such that A^(t)¹ ^(×t) ² =A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ ⊕BF^(t) ¹ in sequence for A⁰, ifa first value, including BF^(t) ¹ , otherwise, if a second value,excluding BF^(t) ¹ i.e. BF^(t) ¹ =0.
 9. The stream cryptographic methodaccording to claim 5, further comprising a cooperation with another saidmethod, wherein the former method, Step (f) controls over the lattermethod, Step(e), if a first value, including BF^(t) ¹ , otherwise, if asecond value, excluding BF^(t) ¹ i.e. BF^(t) ¹ =0.
 10. A streamcryptographic apparatus comprising of: a first register R1 provided forstoring an input value A^(t) ¹ ^(×(t) ² ⁻¹⁾; a diffuser DF provided forreceiving A^(t) ¹ ^(×(t) ² ⁻¹⁾ from R1, further, recombining A^(t) ¹^(×(t) ² ⁻¹⁾ with a function-table F^(t) ¹ and transmitting an outputvalue A^(t) ¹ ^(×t) ² =A^(t) ¹ ^(×(t) ₂ ⁻¹⁾F^(t) ¹ ; a second registerR2 provided for receiving and buffering A^(t) ¹ ^(×t) ² from DF, then,feeding back said A^(t) ¹ ^(×t) ² to R1; a multiplexer MUX provided forreceiving A^(t) ¹ ^(×t) ² from R2, further, selecting an assigned bit ofA^(t) ¹ ^(×t) ² and transmitting the assigned bit; a third register R3provided for storing a plaintext/ciphertext stream in sequence, R3 inputmarked IN, and transmitting a bit each time; an XOR gate provided forreceiving said assigned bit from MUX as a first operand, said bit fromR3 as a second operand, then, performing an exclusive or operation andtransmitting an output bit; the output marked OUT.
 11. The streamcryptographic apparatus according to claim 10, the first register R1further provided for storing an initial value A⁰ written directly by apassword.
 12. The stream cryptographic apparatus according to claim 10,further comprising of: a first memory M1 provided for storing amedium-constant BF^(t) ¹ ; an XOR Unit provided for receiving A^(t) ¹^(×t) ² from DF as a first operand, BF^(t) ¹ from M1 as a secondoperand, then, performing an bitwise exclusive or operation andtransmitting an output value A^(t) ¹ ^(×t) ² =A^(t) ¹ ^(×t) ² ⊕BF^(t) ¹; the second register R2 provided for receiving and buffering A^(t) ¹^(×t) ² from XOR Unit, then, feeding back said A^(t) ¹ ^(×t) ² to R1; aswitch SW provided for receiving a password in sequence and performingsaid F^(t) ¹ recombination, further checking the bit if a first value,then R2 receiving from DF, if a second value, then R2 receiving from XORUnit.
 13. The stream cryptographic apparatus according to claim 12, thefirst register R1 further provided for storing an initial value A⁰ bythe switch SW receiving the password in sequence.
 14. The streamcryptographic apparatus according to claim 12, further provided for aparallel connecting to another said apparatuses, comprising of: everyapparatus, SW, provided for receiving a password in sequence; everyapparatus, IN, provided for receiving an assigned part of aplaintext/ciphertext in sequence; every apparatus, OUT, provided fortransmitting the assigned part of the ciphertext/plaintext in sequence.15. The stream cryptographic apparatus according to claim 12, furtherprovided for a serial connecting to another said apparatuses, comprisingof: the first apparatus, SW, provided for receiving a password insequence; the last apparatus, IN, provided for receiving aplaintext/ciphertext in sequence; the last apparatus, OUT, provided fortransmitting the ciphertext/plaintext in sequence; every apparatusexcept the first one, SW, provided for receiving the output from theformer apparatus, OUT; every apparatus except the last one, OUT,provided for transmitting the output to the latter apparatus, SW. 16.The stream cryptographic apparatus according to claim 15, furthercomprising of: every apparatus, IN, provided for receiving an assignedpart of a plaintext/ciphertext in sequence; every apparatus, OUT,provided for transmitting the assigned part of the ciphertext/plaintextin sequence.